﻿// ===============================================================================
//  Copyright © ymind.net. All rights reserved .
//  官方网站：http://ymind.net/
//  版权所有：彦铭工作室 老陈出品
// ===============================================================================

using System;
using System.Runtime.InteropServices;

namespace Lcsoft.TemplateEngine.XHtmlParser
{
	/// <summary>
	/// 表示 xhtml 注释。
	/// </summary>
	[ComVisible(true)]
	[Serializable]
	public class XHtmlComment : XHtmlNode
	{
		/// <summary>
		/// 初始化 <see cref="XHtmlComment"/> 类的新实例。
		/// </summary>
		/// <param name="text"><see cref="XHtmlComment"/> 的文本。</param>
		/// <param name="line"><see cref="XHtmlComment"/> 所在的行数。</param>
		/// <param name="column"><see cref="XHtmlComment"/> 所在的列数。</param>
		internal XHtmlComment(string text, int line, int column) : base(line, column)
		{
			if (text == null) throw new ArgumentNullException("text");

			this.Text = text;
		}

		/// <summary>
		/// 获取 <see cref="XHtmlComment"/> 的文本。
		/// </summary>
		public string Text { get; private set; }

		/// <summary>
		/// 返回包含 <see cref="XHtmlComment"/> 内容的 .html 格式的字符串。
		/// </summary>
		/// <returns>返回 <see cref="System.String"/>。</returns>
		public override string ToHtml() { return this.Text; }

		/// <summary>
		/// 返回包含 <see cref="XHtmlComment"/> 内容的 .aspx 格式的字符串。
		/// </summary>
		/// <returns>返回 <see cref="System.String"/>。</returns>
		public override string ToAspx() { return this.Text; }

		/// <summary>
		/// 返回表示 <see cref="XHtmlComment"/> 的字符串。
		/// </summary>
		/// <returns>返回 <see cref="System.String"/>。</returns>
		public override string ToString() { return this.Text; }
	}
}
